/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package compiladores2;

/**
 *
 * @author luisegg
 */
public class TablaTransicion {
        
        //Los renlglones de la tabla son los edos del 0 (edo. inicial) hasta el edo. 19
        /*La columnas de la matriz tienen la siguiente correspondencia:
         * 0: =
         * 1: (+|-|/|*|%)
         * 2: [0-9]
         * 3: #
         * 4: r
         * 5: e
         * 6: a
         * 7: d
         * 8: p
         * 9: i
         * 10: n
         * 11: t
         * 12: cualquier letra excepto: r,e,a,d,p,i,n,t
         * 13: (espacio|\t)
         * 14: \n (salto de linea)
         * 15: . (punto)
         * 16: aceptacion
        */
        //Las celdas almacenan el numero del edo. al que se hara la transicion
        /*
         * Si el edo. es de aceptacion -> aceptacion = 1
         * si no ->aceptacion = 0
         * 
         * En caso de que la transicion no este definida en el automata (ERROR)
         * se almacenara en la tabla -1
         * 
         * 
         */                        //= OAr di #  r  e  a  d  p  i  n  t  ^l ES \n  .  Aceptacion
        int [][] tablaTransicion = {{1, 2, 3, 4, 5, 7, 7, 7, 6, 7, 7, 7, 7, 8, 9, 13, 1}, //Edo. 0: edo. inicial
                                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1}, //Edo. 1: Operador de Asignacion
                                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1}, //Edo. 2: Operador aritemético
                                    {0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1}, //Edo. 3: Entero
                                    {0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, -1, 1}, //Edo. 4: Comentario
                                    {0, 0, 0, 0, 7, 11, 7, 7, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 5: ID
                                    {0, 0, 0, 0, 12, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 6: ID
                                    {1, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 7: ID
                                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, -1, 1}, //Edo. 8: Espacio
                                    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 9, -1, 1}, //Edo. 9: Salto de linea
                                    {0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0}, //Edo. 10: Error
                                    {0, 0, 0, 0, 7, 7, 14, 7, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 11: ID
                                    {0, 0, 0, 0, 7, 7, 7, 7, 7, 15, 7, 7, 7, 0, 0, -1, 1}, //Edo. 12: ID
                                    {0, 2, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1}, //Edo. 13: Flotante
                                    {0, 0, 0, 0, 7, 7, 7, 16, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 14: ID
                                    {0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 17, 7, 7, 0, 0, -1, 1}, //Edo. 15: ID
                                    {0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 16: PR
                                    {0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 18, 7, 0, 0, -1, 1}, //Edo. 17: ID
                                    {0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, -1, 1}, //Edo. 18: PR
                                   };
        
        
        
        
        
        /*for(int i = 0; i < 19; i++){
            for(int j = 0; j < 17 ; j++){
                System.out.printf("%d ", tablaTransicion[i][j]);
            }
            System.out.println();
        }*/
 
}
